
/*
 * Hlpay-Plus aggregate payment system. Copyright
 * (c) 2022-2023 Hlpay Team Copyright has the right of final interpretation.
 */
package com.hlkj.pay.infrastructure.model.admin;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hlkj.framework.mybatis.core.dataobject.BaseDO;
import com.hlkj.pay.enums.AdminUserEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author HlpayTeam
 * @date 2024/09/03 14:10
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("t_admin_user")
public class AdminUserDO extends BaseDO {

    private static final long serialVersionUID = -24107899430636090L;
    /**
     * 邮箱
     */
    private String emailEncrypt;
    /**
     * 密码
     */
    private String pwdEncrypt;

    /**
     * 手机号
     */
    private String phoneEncrypt;
    /**
     * 区号
     */
    private String phoneArea;
    /**
     * timeZone
     */
    private String timeZone;
    /**
     * language
     */
    private String language;
    /**
     * 多因子：0否 1是
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer mfaFlag;
    /**
     * 是否勾选协议：0否 1是
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer checkAgreement;

    /**
     * 用户名称
     */
    private String userName;
    /**
     * 姓名
     */
    private String name;


    /**
     * 部门编码
     */
    private String partCode;

    /**
     * 1 启用 0 禁用 2 离职
     * @see AdminUserEnum.USER_STATUS
     */
    private Integer status;
    /**
     * 最后登录时间
     */
    private Long lastLoginTime;
    /**
     * 密码是否修改过：0否 1是
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer updatePwdFlag;
    /**
     * 是否支持多处登录： ：0否 1是
     * @see AdminUserEnum.YES_NO_TYPE
     */
    private Integer multipointLogin;
    /**
     * 商户编码
     */
    private String sn;
    /**
     * 用户类型
     * @see AdminUserEnum.SYS_TYPE
     */
    private Integer sysType;
    /**
     * 岗位
     */
    private String job;
    @Schema(description = "最近登录ip")
    private String loginIp;
    @Schema(description = "邀请码")
    private String inviteCode;
    @Schema(description = "团队码")
    private String teamsCode;
}
